#include<stdio.h>
#include<unistd.h>
#include<sys/types.h>

//单线程测试
// int main()
// {
//     while(1)
//     {
//         printf("程序运行中\n");
//         sleep(1);
//     }
//     return 0;
// }

//双进程测试
// int main()
// {
//     int ret = fork();
//     if(ret>0)//父进程
//     {
//         while(1)
//         {
//             printf("父进程运行中！PID: %d PPID: %d\n",getpid(),getppid());
//             sleep(1);
//         }
//     }
//     else if(ret==0)
//     {
//         while(1)
//         {
//             printf("子进程运行中！PID: %d PPID: %d\n",getpid(),getppid());
//             sleep(1);
//         }
//     }
//     return 0;
// }

//多进程测试
int main()
{
    int ret = fork();
    if(ret>0)//父进程
    {
        int ret = fork();
        if(ret>0)//父进程
        {
            while(1)
            {
                printf("进程1运行中！PID: %d PPID: %d\n",getpid(),getppid());
                sleep(1);
            }
        }
        else if(ret==0)
        {
            while(1)
            {
                printf("进程2运行中！PID: %d PPID: %d\n",getpid(),getppid());
                sleep(1);
            }
        }
    }
    
    else if(ret==0)
    {
        int ret = fork();
        if(ret>0)//父进程
        {
            while(1)
            {
                printf("进程3运行中！PID: %d PPID: %d\n",getpid(),getppid());
                sleep(1);
            }
        }
        else if(ret==0)
        {
            while(1)
            {
                printf("进程4运行中！PID: %d PPID: %d\n",getpid(),getppid());
                sleep(1);
            }
        }
    }
    return 0;
}
